Three-dimensional (3D) modeling of physical objects has many applications in the area of computer graphics. For example, computer-based 3D models of objects may be employed to generate animation, to insert digital images into film or photographic images, to design objects, and for many other purposes. As computing power has increased and 3D modeling algorithms have become more sophisticated, it has become possible to model objects of increasing complexity. A set of 3D curves may be used to represent a model of an object, for example, in a wire-based or sketch-based modeling system. The set of 3D curves may depict the shape and form of the object by defining salient features of the object. However, the set of 3D curves may not define the full surface topology of the object.
It is often necessary to topologically connect the set of 3D curves for an object to represent the full surface of the object. A representation of the surface of the object may be needed for further modeling and/or visualization tasks. Conventional methods form a surface from a set of 3D curves by first projecting the curves down into a lower dimension, thus parameterizing the curves into a two-dimensional (2D) plane. Within the 2D plane, tessellation may be performed to connect the projected curves together as a topological network that forms a manifold surface in 3D. Such a projection method may, when embedding the curves into the 2D plane, induce distortion in the surface and may generate self-intersecting curves. This may result in poor tessellation (e.g., long, stretched sliver triangles) and even failure to generate a tessellated network if the 2D tessellation algorithm is not carefully designed to handle overlapping curves. Furthermore, such conventional methods, which are dependent on a single curve parameterization, only provide a single surface solution, which may or may not satisfy a user's desired 3D model of the object's surface.
Conventional methods for reconstructing a surface of a 3D model using 3D curves which define the shape of the model place various restrictions on the set of 3D curves. For example, conventional methods may reconstruct the surface of the 3D model of an object using clouds of points which reside on the 3D curves. Such conventional methods rely on a dense sampling of the points on the curves in order to reconstruct the surface of the 3D model. As another example, conventional methods require that normal information and spatial position is known for the 3D curves. Such conventional methods may also depend on an assumption that a watertight, closed shape is being generated. Such an assumption may be used to infer whether points on a surface reside on the “inside” or “outside” of a closed shape. The restrictions placed on the set of 3D curves by conventional methods may severely limit the types of 3D curves that may be used to reconstruct the surface of a 3D model from the curves.